// pages/detail/detail.js
var http = require('../../API/http')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    obj: {}, //详情页数据
    cartList: [], //购物车数据，存到本地
    sum: null //购物车商品数量
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    
    // 请求详情页数据
    http('get', 'goods/detail', {
      goods_id: options.id
    }).then(res => {
      this.setData({
        obj: res.data.message
      })
    })
  },

  // 添加商品到购物车
  add() {
    if(!wx.getStorageSync('token')){
      wx.switchTab({
        url: '/pages/my/my',
      })
      wx.showToast({
        title: '请先登录',
        icon:'error'
      })
      return false
    }
    // 指定要添加到购物车的商品信息
    let obj = {
      id: this.data.obj.goods_id,
      price: this.data.obj.goods_price,
      img: this.data.obj.goods_big_logo,
      num: 1,
      flag: false,
      name: this.data.obj.goods_name
    }
    // 判重需要的一个状态
    let flag = false;
    this.data.cartList.forEach(item => {
      if (item.id == obj.id) {
        wx.showToast({
          title: '数量加1',
        })
        flag = true;
        // 已经加入购物车的就让商品数量加一
        item.num += 1;
        // 数量加一，更新本地的数据
        wx.setStorageSync('cartList', this.data.cartList)
        // 不执行下面的代码，终止
        return false
      }
    })
    // 没有重复的商品，进行添加
    if (flag == false) {
      wx.showToast({
        title: '添加成功',
      })
      this.data.cartList.push(obj)
      // 存储到本地
      wx.setStorageSync('cartList', this.data.cartList)
    }
    // 购物车角标商品数量
    this.getsum()
  },

  // 获取本地购物车商品的总数量函数，超过两个地方使用，所以封装了个函数
  getsum(){
    let sum = 0;
    if (wx.getStorageSync('cartList')) {
      wx.getStorageSync('cartList').forEach(item => {
        sum += item.num
      })
      this.setData({
        cartList: wx.getStorageSync('cartList'),
        sum:sum
      })
    }
  },


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 获取购物车商品数量
    this.getsum()

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})